#ifndef M_VISIBILITY_TESTER
#define M_VISIBILITY_TESTER
#include<vector>
#include"../scene/scene.h"
#include"../utils/randgen.h"
class VisibilityTester
{
public:
	P3 startPt;
	P3 targetPt;
	Medium* medium;
public:
	VisibilityTester();
	inline void setStartPt(P3 x);
	inline void setTargetPt(P3 x);
	inline void setMedium(P3 &start_isect_n, Medium* outMedium, Medium* inMedium);
	bool unoccluded(Scene* scene, Object *target);
	Spectrum Tr(Scene* scene, Object* target, RandGenerator *randGen);

};
#endif // !M_VISIBILITY_TESTER

